diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 61f0d30..139dbf7 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -596,8 +596,6 @@
 		return $str;
 	}
 
-
-
 	// --------------------------------------------------------------------
 
 	/**
diff --git a/system/helpers/directory_helper.php b/system/helpers/directory_helper.php
index e6ed47f..ad86851 100644
--- a/system/helpers/directory_helper.php
+++ b/system/helpers/directory_helper.php
@@ -40,12 +40,10 @@
  * @return	array
  */	
 function directory_map($source_dir, $top_level_only = FALSE)
-{
-	if ( ! isset($filedata))
-		$filedata = array();
-	
+{	
 	if ($fp = @opendir($source_dir))
 	{
+		$filedata = array();
 		while (FALSE !== ($file = readdir($fp)))
 		{
 			if (@is_dir($source_dir.$file) && substr($file, 0, 1) != '.' AND $top_level_only == FALSE)
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index c9c2138..4da62ad 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -141,5 +141,39 @@
 	}
 }
 
+// ------------------------------------------------------------------------
+
+/**
+ * Get Filenames
+ *
+ * Reads the specified directory and builds an array containing the filenames.  
+ * Any sub-folders contained within the specified path are read as well.
+ *
+ * @access	public
+ * @param	string	path to source
+ * @param	bool	whether to include the path as part of the filename
+ * @return	array
+ */	
+function get_filenames($source_dir, $include_path = FALSE)
+{
+	static $_filedata = array();
+	
+	if ($fp = @opendir($source_dir))
+	{
+		while (FALSE !== ($file = readdir($fp)))
+		{
+			if (@is_dir($source_dir.$file) && substr($file, 0, 1) != '.')
+			{
+				 get_filenames($source_dir.$file."/", $include_path);
+			}
+			elseif (substr($file, 0, 1) != ".")
+			{
+			
+				$_filedata[] = ($include_path == TRUE) ? $source_dir.$file : $file;
+			}
+		}
+		return $_filedata;
+	}
+}
 
 ?>
\ No newline at end of file
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index db656bc..8ad7fef 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -85,6 +85,7 @@
 <li>Added <a href="./database/results.html">$query->free_result()</a> to database class.</li>
 <li>Added <a href="./database/fields.html">$query->list_fields()</a> function to database class</li>
 <li>Added <a href="./database/helpers.html">$this->db->platform()</a> function</li>
+<li>Added new <a href="./helpers/file_helper.html">File Helper</a>:  get_filenames()</li>
 <li>Added "is_numeric" to validation, which uses the native PHP is_numeric function.</li>
 <li>Improved the URI handler to make it more reliable when the $config['uri_protocol'] item is set to AUTO.</li>
 <li>Moved most of the functions in the Controller class into the Loader class, allowing fewer reserved function names for controllers when running under PHP 5.</li>
diff --git a/user_guide/images/ci_logo.jpg b/user_guide/images/ci_logo.jpg
index b31a797..3ae0eee 100644
--- a/user_guide/images/ci_logo.jpg
+++ b/user_guide/images/ci_logo.jpg
Binary files differ
